/* 创建全局自定义指令 */
import Vue from "vue";
import store from "./store";

/* 
v-permission 权限校验的自定义指令
  使用：<div v-permission="'XFP002'"></div>
  @1 获取调用指令传递进来的权限标识「用户具备这个权限才渲染」 ->value
  @2 从vuex中获取用户的权限标识
  @3 判断“是否包含”传递进来的标识，如果不包含，则不让对应的元素渲染
*/
Vue.directive('permission', {
    inserted(el, { value }) {
        let power = store.state.profile?.power;
        if (!power) power = "";
        if (!value) return;
        power = power.split('|');
        if (!power.includes(value)) {
            // 登录者不具备你传递的权限:让绑定的元素消失
            el.parentNode.removeChild(el);
        }
    }
});